﻿//Este contador permitira saber el numero de cruces deibujadas
numCruzAOF = 0;

//vector (v) AOF <-- este vector almacena los dientes que mostraran las figuras AOF
var vAOF = new Array();
//aqui el primer valor de la matriz almacena si se muestra la linea sobre su cabeza y el segundo valor almacena quien tiene la cruz sobre su cabeza
vAOF[0] = new Array('0', '0'); //18
vAOF[1] = new Array('0', '0'); //17
vAOF[2] = new Array('0', '0'); //16
vAOF[3] = new Array('0', '0'); //15
vAOF[4] = new Array('0', '0'); //14
vAOF[5] = new Array('0', '0'); //13
vAOF[6] = new Array('0', '0'); //12
vAOF[7] = new Array('0', '0'); //11

//vector (v) AOR <-- este vector almacena los dientes que mostraran las figuras AOR
var vAOR = new Array();
vAOR[0] = 0; //18
vAOR[1] = 0; //17
vAOR[2] = 0; //16
vAOR[3] = 0; //15
vAOR[4] = 0; //14
vAOR[5] = 0; //13
vAOR[6] = 0; //12
vAOR[7] = 0; //11
vAOR[8] = 0; //28
vAOR[9] = 0; //27
vAOR[10] = 0; //26
vAOR[11] = 0; //25
vAOR[12] = 0; //24
vAOR[13] = 0; //23
vAOR[14] = 0; //22
vAOR[15] = 0; //21

var vOpciones = new Array();
vOpciones[0] = 0;
vOpciones[1] = 0; //Aparato Ortodontico Removible
vOpciones[2] = 0;
vOpciones[3] = 0;
vOpciones[4] = 0;


//Funcion para saber que opcion esta elegida en el radio button
function eleccionOpciones() {
    for (i = 0; i < 5; i++) {
        if ($("#Opcion" + i).attr("checked")) {
            vOpciones[i] = 1;
        }
        else {
            vOpciones[i] = 0;
        }
    }
}

//Esta funcion verifica que se hallan colocado dos cruces en el odontograma
function verificarDosCrucesAOF() {
    suma = parseInt(vAOF[0][1]) + parseInt(vAOF[1][1]) + parseInt(vAOF[2][1]) + parseInt(vAOF[3][1]) + parseInt(vAOF[4][1]) + parseInt(vAOF[5][1]) + parseInt(vAOF[6][1]) + parseInt(vAOF[7][1]);
    if (suma == 2) {
        return true;
    }
    else {
        return false;
    }
}

//Permite obtener el valor del diente del extremo mas cercano al diente 18
function obtenerExtremo1AOF() {
    for (i = 0; i < 8; i++) {
        if (vAOF[i][1] == 1) {
            return i;
        }
    }
}
//Permite obtener el valor del diente del extremo mas cercano al diente 11
function obtenerExtremo2AOF() {
    for (i = 7; i >= 0; i--) {
        if (vAOF[i][1] == 1) {
            return i;
        }
    }
}



//Esta funcion muestra la cruz encima del diente seleccionado
/*function visibilidadCruz(diente) {
    vAOF[diente] = new Array('0', '1');
    $("#AOFcruzDer" + (18 - diente)).show();
    $("#AOFcruzIzq" + (18 - diente)).show();
    numCruzAOF++;
}*/

//AQUI NOS QUEDAMOOOOOOOOOOOOOS
function visibilidadCruz(diente) {
    if (numCruzAOF>0) {
        
        vAOF[diente] = new Array('0', '1');
        for (i = 0; i < 8; i++) {
            if (vAOF[i][1]==1) {
                $("#AOFcruzIzq" + (18 - i)).show();
                $("#AOFcruzDer" + (18 - i)).hide();
                //alert("primer for "+i);
                break;
            }
            //alert(vAOF[7 - i][1]);
        }
        for (j = 7; j >=0; j--) {
            if (vAOF[j][1]==1) {
                $("#AOFcruzIzq" + (18 - j)).hide();
                $("#AOFcruzDer" + (18 - j)).show();
                //alert("segundo for "+j);
                break;
            }
        }
        
    }
    else {
        vAOF[diente] = new Array('0', '1');
        //$("#AOFcruzDer" + (18 - diente)).show();
        $("#AOFcruzIzq" + (18 - diente)).show();
    }
    numCruzAOF++;
}

//Esta funcion oculta la cruz
function ocultarCruz(diente) {
    vAOF[diente] = new Array('0', '0');
    $("#AOFcruzDer" + (18 - diente)).hide();
    $("#AOFcruzIzq" + (18 - diente)).hide();
    numCruzAOF--;
}


//Esta funcion le asigna un 1 a todos los vectores cuyos dientes deben llevar la linea encima
function asignarvisibilidadLineaAOF(extremo1, extremo2) {
    for (i = extremo1; i <= extremo2; i++) {
        vAOF[i] = new Array('1', '0');
    }
    vAOF[extremo1] = new Array('1', '1');
    vAOF[extremo2] = new Array('1', '1');
}

//Esta funcion muestra las lineas desde un extremo al otro
function visibilidadLineaAOF(extremo1, extremo2) {
    for (i = extremo1; i <= extremo2; i++) {
        if (vAOF[i][0] == 1) {
            $("#AOF" + (18 - i)).show();
        }
        else {
            $("#AOF" + (18 - i)).hide();
        }
    }
}

//Esta funcion oculta todas las lineas sin importar los extremos
function ocultarTodasLineasAOF() {
    for (i = 0; i < 8; i++) {
        //if (vAOF[i][0] == 1) {
        //  vAOF[i] = new Array('0', '0');
        $("#AOF" + (18 - i)).hide();
        //}
    }
}

//Esta funcion oculta todas las cruces
function ocultarTodasLasCruces() {
    for (i = 0; i < 8; i++) {
        $("#AOFcruzDer" + (18 - i)).hide();
        $("#AOFcruzIzq" + (18 - i)).hide();
    }
}



//Esta funcion es lo que realiza la opcion 0 (AOF)
function Opcion0(diente) {

    if (vAOF[diente][1] == 0) {
        if (numCruzAOF < 2) {
            visibilidadCruz(diente);
            if (verificarDosCrucesAOF()) {
                extremo1 = obtenerExtremo1AOF();
                extremo2 = obtenerExtremo2AOF();
                asignarvisibilidadLineaAOF(extremo1, extremo2);
                visibilidadLineaAOF(extremo1, extremo2);
            }
        }
    }
    else {
        //desaparece la cruz y desaparecen todas las lineas
        ocultarCruz(diente);
        ocultarTodasLineasAOF();
    }
}

function Opcion1(diente) {
    if (vAOR[diente] == 0) {
        vAOR[diente] = 1;
    }
    else {
        vAOR[diente] = 0;
    }
    visibilidadAOR();
}

//Funcion para ocultar o mostrar las figuras del AOR 
function visibilidadAOR() {
    n = 8;
    m = 18;//el diente maximo del primer cuadrante
    for (i = 0; i < 16; i++) {
        if (i == 8) {
            m = 36;
        }
        if (vAOR[i] == 1) {
            $("#AOR" + (m - i)).show();
        }
        else {
            $("#AOR" + (m - i)).hide();
        }
        
    }
}

$(document).ready(function () {
    //verificarDosCrucesAOF();
    visibilidadAOR();

    ocultarTodasLineasAOF();
    ocultarTodasLasCruces();
});


$(document).ready(function () {

    $("#d18").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(0);
        if (vOpciones[1] == 1) Opcion1(0);
    });

    $("#d17").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(1);
        if (vOpciones[1] == 1) Opcion1(1);
    });

    $("#d16").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(2);
        if (vOpciones[1] == 1) Opcion1(2);
    });

    $("#d15").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(3);
        if (vOpciones[1] == 1) Opcion1(3);
    });

    $("#d14").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(4);
        if (vOpciones[1] == 1) Opcion1(4);
    });

    $("#d13").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(5);
        if (vOpciones[1] == 1) Opcion1(5);
    });

    $("#d12").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(6);
        if (vOpciones[1] == 1) Opcion1(6);
    });

    $("#d11").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(7);
        if (vOpciones[1] == 1) Opcion1(7);
    });


    $("#d21").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(15);
        if (vOpciones[1] == 1) Opcion1(15);
    });
    $("#d22").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(14);
        if (vOpciones[1] == 1) Opcion1(14);
    });
    $("#d23").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(13);
        if (vOpciones[1] == 1) Opcion1(13);
    });
    $("#d24").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(12);
        if (vOpciones[1] == 1) Opcion1(12);
    });
    $("#d25").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(11);
        if (vOpciones[1] == 1) Opcion1(11);
    });
    $("#d26").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(10);
        if (vOpciones[1] == 1) Opcion1(10);
    });
    $("#d27").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(9);
        if (vOpciones[1] == 1) Opcion1(9);
    });
    $("#d28").click(function () {
        eleccionOpciones();
        if (vOpciones[0] == 1) Opcion0(8);
        if (vOpciones[1] == 1) Opcion1(8);
    });
});